vant中van-picker選項插入圖片
阿新 • • 發佈:2022-03-28
vant 版本:2.10.9
先上效果圖:
<template> <div class="hello"> <van-button type="primary" @click="filePicker = true">開啟選擇器</van-button> <van-popup v-model="filePicker" position="bottom"> <van-picker show-toolbar :columns="columns" @confirm="onConfirm" @cancel="filePicker = false" /> </van-popup> </div> </template> <script> export default { name: 'HelloWorld', data() { return { filePicker: false, list:['選項一', '選項二', '選項三'], columns: [], imgsrc: require('@/assets/logo.png') } }, created() { this.list.forEach( el => { this.columns.push({ text: `<img class="cloumns-img" src='${this.imgsrc}'>` + el }) }) }, methods: { onConfirm(item) { console.log(item) } } } </script> <style lang="scss"> .van-ellipsis{ display: flex; align-items: center; .cloumns-img { width: 22px; height: 22px; } } </style>
可以使用ES6的模版字串: <img class="cloumns-img" src='${this.imgsrc}'>
通過這種方式可以插入html
但是直接src="../../assets/images/icon.png"、src="@/assets/images/icon.png"這兩種方式是不起作用的。
可以直接src="https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=2480604110,4008147240&fm=26&gp=0.jpg" 這種網路地址的圖片是可以顯示的。
在vant 的api中有配置在選項中是否渲染html。
但是在vant中好像只能渲染原生的html元素,元件是不可以的。