In the development of uniapp, we often need to dynamically modify the style of the page, and one of the common methods is to change the style in the method function. In this article we will describe how to implement this method.
Generally speaking, we can modify the style by using the built-in methods provided by uni-app in the function. For example, we can use uni.$refs
in the function to get a certain component in the page. Then, we can dynamically modify the style through the component's properties, such as style
and class
.
Let us use a specific example to help you better understand this process. Suppose we have a login page for a small program, where the layout style of the page is as follows:
<template> <view> <form> <input type="text" placeholder="用户名" /> <input type="password" placeholder="密码" /> <button>登录</button> </form> </view> </template> <style scoped> form { width: 80%; margin: 10vw; padding: 5vw; background-color: #fff; } input { margin-bottom: 3vw; width: 100%; height: 10vw; border: 0; border-radius: 3vw; background-color: #f2f2f2; } button { width: 100%; height: 12vw; border: 0; border-radius: 3vw; color: #fff; background-color: #007aff; font-size: 4.5vw; } </style>
Let us assume that we now need to implement the following requirements: when the user submits the form, if an input box in the form is not filled in , you need to change the color of its bottom border to red. Specifically, we need to change the value of the placeholder
attribute to unfilled
and add the style border-bottom-color: red
to the input box.
To achieve this requirement, we first need to use the uni.$refs
method to obtain the input box component, and then we need to change the style of the component.
<template> <view> <form> <input ref="username" type="text" placeholder="用户名" /> <input ref="password" type="password" placeholder="密码" /> <button @click="login">登录</button> </form> </view> </template> <script> export default { methods: { login() { if (!this.$refs.username.value.trim()) { this.$refs.username.placeholder = '未填写' this.$refs.username.style.borderBottomColor = 'red' } if (!this.$refs.password.value.trim()) { this.$refs.password.placeholder = '未填写' this.$refs.password.style.borderBottomColor = 'red' } }, }, } </script>
In the above code, we added the ref
attribute to each input box component to obtain a reference to the component. In the login function, we determine whether the content of the input box is empty. If it is empty, we change the value of the placeholder
attribute to Unfilled
and add a style to the input box. border-bottom-color: red
.
Note that we are using $refs.
instead of refs.
, this is because in uni-app, $refs
is A built-in object that can access all components with ref
properties.
In short, through this article, we learned how to modify the style in the method function in uni-app. Of course, this is just one of the implementation methods, and there are many other methods, such as using the this.setData()
method in a function to change the data state, using CSS pseudo-class selectors, and so on. By mastering these skills, we can be more flexible in adapting our page styles to meet user needs.
The above is the detailed content of uniapp modifies style in method function. For more information, please follow other related articles on the PHP Chinese website!

The article discusses debugging strategies for mobile and web platforms, highlighting tools like Android Studio, Xcode, and Chrome DevTools, and techniques for consistent results across OS and performance optimization.

The article discusses debugging tools and best practices for UniApp development, focusing on tools like HBuilderX, WeChat Developer Tools, and Chrome DevTools.

The article discusses end-to-end testing for UniApp applications across multiple platforms. It covers defining test scenarios, choosing tools like Appium and Cypress, setting up environments, writing and running tests, analyzing results, and integrat

The article discusses various testing types for UniApp applications, including unit, integration, functional, UI/UX, performance, cross-platform, and security testing. It also covers ensuring cross-platform compatibility and recommends tools like Jes

The article discusses common performance anti-patterns in UniApp development, such as excessive global data use and inefficient data binding, and offers strategies to identify and mitigate these issues for better app performance.

The article discusses using profiling tools to identify and resolve performance bottlenecks in UniApp, focusing on setup, data analysis, and optimization.

The article discusses strategies for optimizing network requests in UniApp, focusing on reducing latency, implementing caching, and using monitoring tools to enhance application performance.

The article discusses optimizing images in UniApp for better web performance through compression, responsive design, lazy loading, caching, and using WebP format.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Dreamweaver CS6
Visual web development tools