<div v-if="dishFlavors.length != 0" class="flavor"> <div class="title"> <span>口味名(3个字内)</span><span>口味标签(输入标签回车添加)</span> </div> <div class="cont"> <div v-for="(item, index) in dishFlavors" :key="index" class="items" > <div class="itTit"> <div class="selectInput"> <div> <el-input v-model="item.name" type="text" style="width: 100%" placeholder="请输入口味" @focus="selectFlavor(true,index)" @blur="outSelect(false,index)" @input="inputHandle(index)" /> </div>
时间: 2024-02-10 14:22:40 浏览: 186
这段代码是用于展示口味输入框和标签输入框的Vue组件,具体实现了以下功能:
1. 根据dishFlavors的长度判断是否需要展示该组件,如果dishFlavors为空则不展示;
2. 包含一个标题和一个内容区域,内容区域包含多个口味输入框和标签输入框;
3. 通过v-for指令循环遍历dishFlavors数组中的每个元素,生成对应的口味输入框和标签输入框;
4. 口味输入框和标签输入框都包含一个v-model指令,用于双向绑定数据,并且根据事件监听函数实现相关操作,如聚焦、失焦、输入等。
相关问题
getList() { this.loading = true // 结果赋值给this.dataList listDishByPage(this.queryParams).then((response) => { this.dataList = response.data.list this.loading = false this.total = response.data.total } ) }<el-table-column label="编号" align="center" prop="dishNo" /> <el-table-column label="名称" align="center" prop="dishName" /> <el-table-column label="价格" align="center" prop="price" /> <el-table-column label="图片" align="center" prop="fileUrl" /> <el-table-column label="口味" align="center" prop="flavor" /> <el-table-column label="原材料" align="center" prop="ingredients" /> <el-table-column label="烹饪方式" align="center" prop="cookingMethod" />其中后端返回的image为文件名,需要调用selectByFileName,传入image参数,返回fileUrl,要怎么写
你可以在 getList() 方法中,在获取到菜品列表数据后,对每个菜品的 image 字段调用 selectByFileName() 方法,将其替换为返回的 fileUrl,例如:
```
getList() {
this.loading = true;
listDishByPage(this.queryParams).then((response) => {
this.dataList = response.data.list;
this.loading = false;
this.total = response.data.total;
this.dataList.forEach((dish) => {
selectByFileName(dish.image).then((url) => {
dish.fileUrl = url;
});
});
});
}
```
这个方法首先将 loading 状态设为 true,然后调用菜品列表接口,获取菜品列表数据。当数据返回后,将 loading 状态设为 false,并将列表数据和总数分别赋值给 this.dataList 和 this.total。接着,对于每个菜品,都调用 selectByFileName() 方法,将其 image 字段替换为返回的 fileUrl。最后,将处理好的列表数据渲染到 el-table 中。
public static String md5(String string) { if (TextUtils.isEmpty(string)) { return BuildConfig.FLAVOR; } try { MessageDigest md5 = MessageDigest.getInstance("MD5"); byte[] bytes = md5.digest(string.getBytes()); StringBuilder result = new StringBuilder(); for (byte b : bytes) { String temp = Integer.toHexString(b & 255); if (temp.length() == 1) { temp = "0" + temp; } result.append(temp); } return result.toString(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); return BuildConfig.FLAVOR; } }
这段代码是用于对输入的字符串进行MD5加密。它首先判断输入的字符串是否为空,如果为空则返回空字符串。然后,使用`MessageDigest.getInstance("MD5")`获取一个MD5算法的实例。
接下来,将输入的字符串转换为字节数组,并通过`md5.digest()`方法对字节数组进行加密操作。得到加密后的字节数组后,使用`StringBuilder`来构建最终的加密结果。
在循环中,对每个字节进行处理,将其转换为对应的十六进制字符串,并将其追加到`result`中。如果转换后的字符串长度为1,则在前面添加一个0。
最后,将`result`转换为字符串并返回。
如果在获取MD5算法实例时发生了`NoSuchAlgorithmException`异常,将打印异常信息并返回空字符串。
阅读全文