如何为 <el-button> 中的图标使用变量
how to use a variable for the icon in <el-button>
我在我的项目前端使用 Element-Ui 库,但它的图标库非常稀缺,这就是我为此使用 Material Desing Icons 的原因。我如何展示如何让它识别我保存在变量中的图标。我正想做类似的事情,但行不通。
<template>
<el-button class="record-btn" v-if="isRecording" circle icon=svgPath2 @click="AudioRecorded"></el-button>
<el-button class="record-btn" v-else circle icon="svgPath1" @click="AudioRecorded" ></el-button>
</template>
<script>
import { mdiStop, mdiRecordRec } from '@mdi/js';
export default {
data () {
return {
svgPath1: mdiRecordRec,
svgPath2: mdiStop,
isRecording: false,
}
},
}
</script>
我认为你在 el-button 中最不使用图标道具的情况下可以像这样使用代码:
<el-button type="primary">
Upload
<YOUR CUSTOM MATERIAL FONT />
</el-button>
如果您想在模板中显示来自 svgPath1 的字符串,只需写入
<el-button
class="record-btn"
v-if="isRecording"
circle
:icon="svgPath2"
@click="AudioRecorded"></el-button>
要解决这个依赖于“@mdi/font”这样的安装:npm i @mdi/font -D 然后在按钮中声明如下:
<template>
<el-button id="record-btn" v-if="isRecording" circle
icon='mdi mdi-stop' @click="AudioRecorded"></el-button>
<el-button id="record-btn" v-else circle
icon='mdi mdi-record-rec' @click="AudioRecorded"></el-button>
</template>
同样在vuetify.js文件中的plugins文件夹中配置如下:
import Vue from 'vue';
import Vuetify from 'vuetify/lib/framework';
import 'material-design-icons-iconfont/dist/material-design-icons.css'
Vue.use(Vuetify);
export default new Vuetify({
icons: {
iconfont: 'mdi'
},
});
我在我的项目前端使用 Element-Ui 库,但它的图标库非常稀缺,这就是我为此使用 Material Desing Icons 的原因。我如何展示如何让它识别我保存在变量中的图标。我正想做类似的事情,但行不通。
<template>
<el-button class="record-btn" v-if="isRecording" circle icon=svgPath2 @click="AudioRecorded"></el-button>
<el-button class="record-btn" v-else circle icon="svgPath1" @click="AudioRecorded" ></el-button>
</template>
<script>
import { mdiStop, mdiRecordRec } from '@mdi/js';
export default {
data () {
return {
svgPath1: mdiRecordRec,
svgPath2: mdiStop,
isRecording: false,
}
},
}
</script>
我认为你在 el-button 中最不使用图标道具的情况下可以像这样使用代码:
<el-button type="primary">
Upload
<YOUR CUSTOM MATERIAL FONT />
</el-button>
如果您想在模板中显示来自 svgPath1 的字符串,只需写入
<el-button
class="record-btn"
v-if="isRecording"
circle
:icon="svgPath2"
@click="AudioRecorded"></el-button>
要解决这个依赖于“@mdi/font”这样的安装:npm i @mdi/font -D 然后在按钮中声明如下:
<template>
<el-button id="record-btn" v-if="isRecording" circle
icon='mdi mdi-stop' @click="AudioRecorded"></el-button>
<el-button id="record-btn" v-else circle
icon='mdi mdi-record-rec' @click="AudioRecorded"></el-button>
</template>
同样在vuetify.js文件中的plugins文件夹中配置如下:
import Vue from 'vue';
import Vuetify from 'vuetify/lib/framework';
import 'material-design-icons-iconfont/dist/material-design-icons.css'
Vue.use(Vuetify);
export default new Vuetify({
icons: {
iconfont: 'mdi'
},
});