在特定条件下,移动v-text-field文本的位置
<p>我正在使用Vue.js和Vuetify。遇到了一个有趣的场景。
所以我有三个选项(单选按钮)</p>
<ul>
<li>左</li>
<li>中</li>
<li>右</li>
</ul>
<p>我有一个带有特定文本值和只读属性的v-text-field。
现在,当选项改变/选择时,我想要改变该文本在v-text-field内的位置。</p>
<p>例如,当选项1(左)时,文本应该移动到v-text-field内的左侧。当选项2(中)时,文本应该移动到中间。依此类推。</p>
<p>对此有什么建议。如果有更好的方法,请指导一下。</p>
你可以使用Vue中的class或style绑定
data() { return { activeAlignment: 'center' } }<div :style="{text-align : activeAlignment} ></div>然后将
activeAlignment绑定到你的单选按钮模型上您可以创建类并将它们绑定:
new Vue({ el: '#app', vuetify: new Vuetify(), data: () => ({ text: 'some text', align: '' }) }).left .v-text-field__slot textarea, .left .v-text-field__slot input { text-align: left; } .center .v-text-field__slot textarea, .center .v-text-field__slot input { text-align: center; } .right .v-text-field__slot textarea, .right .v-text-field__slot input { text-align: right; }<link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900" rel="stylesheet"> <link href="https://cdn.jsdelivr.net/npm/@mdi/font@6.x/css/materialdesignicons.min.css" rel="stylesheet"> <link href="https://cdn.jsdelivr.net/npm/vuetify@2.x/dist/vuetify.min.css" rel="stylesheet"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, minimal-ui"> </head> <body> <div id="app"> <v-app> <v-main> <v-container> <v-btn-toggle v-model="align" tile color="deep-purple accent-3" group > <v-btn value="left">左对齐</v-btn> <v-btn value="center">居中对齐</v-btn> <v-btn value="right">右对齐</v-btn> </v-btn-toggle> <v-textarea :class="align" v-model="text" label="文本" ></v-textarea> <v-text-field v-model="text" label="文本" :class="align" ></v-text-field> </v-container> </v-main> </v-app> </div> <script src="https://cdn.jsdelivr.net/npm/vue@2.x/dist/vue.js"></script> <script src="https://cdn.jsdelivr.net/npm/vuetify@2.x/dist/vuetify.js"></script>